import FS_ArcanMissile from 'code/Scripts/Abilities/ClassAbility/Mage/FS_ArcanMissile';
import ClassAbilityManagerBase from './base/ClassAbilityManagerBase';
import FS_ArcanTransfer from 'code/Scripts/Abilities/ClassAbility/Mage/FS_ArcanTransfer';
import FS_Bilizard from 'code/Scripts/Abilities/ClassAbility/Mage/FS_Bilizard';
import FS_DragonBreath from 'code/Scripts/Abilities/ClassAbility/Mage/FS_DragonBreath';
import FS_FireBall from 'code/Scripts/Abilities/ClassAbility/Mage/FS_FireBall';
import FS_IceArrow from 'code/Scripts/Abilities/ClassAbility/Mage/FS_IceArrow';
import FS_IceBarrior from 'code/Scripts/Abilities/ClassAbility/Mage/FS_IceBarrior';
import FS_Meteorite from 'code/Scripts/Abilities/ClassAbility/Mage/FS_Meteorite';
import FS_Polymorphy from 'code/Scripts/Abilities/ClassAbility/Mage/FS_Polymorphy';

declare global {
    var FSAbilities: MagaAbilityManager;
}

export default class MagaAbilityManager extends ClassAbilityManagerBase {
    FS_ArcanMissile: FS_ArcanMissile;
    FS_ArcanTransfer: FS_ArcanTransfer;
    FS_Bilizard: FS_Bilizard;
    FS_DragonBreath: FS_DragonBreath;
    FS_FireBall: FS_FireBall;
    FS_IceArrow: FS_IceArrow;
    FS_IceBarrior: FS_IceBarrior;
    FS_Meteorite: FS_Meteorite;
    FS_Polymorphy: FS_Polymorphy;
    constructor() {
        super();
        FSAbilities = this;
        this.FS_ArcanMissile = new FS_ArcanMissile('Aasd');
        this._abilities.set('Aasd', this.FS_ArcanMissile);

        this.FS_ArcanTransfer = new FS_ArcanTransfer('Aacs');
        this._abilities.set('Aacs', this.FS_ArcanTransfer);

        this.FS_Bilizard = new FS_Bilizard('Abfx');
        this._abilities.set('Abfx', this.FS_Bilizard);

        this.FS_DragonBreath = new FS_DragonBreath('Alxs');
        this._abilities.set('Alxs', this.FS_DragonBreath);

        this.FS_FireBall = new FS_FireBall('Ahqs');
        this._abilities.set('Ahqs', this.FS_FireBall);

        this.FS_IceArrow = new FS_IceArrow('Abjs');
        this._abilities.set('Abjs', this.FS_IceArrow);

        this.FS_IceBarrior = new FS_IceBarrior('Ahbl');
        this._abilities.set('Ahbl', this.FS_IceBarrior);

        this.FS_Meteorite = new FS_Meteorite('Ayss');
        this._abilities.set('Ayss', this.FS_Meteorite);

        this.FS_Polymorphy = new FS_Polymorphy('Abxs');
        this._abilities.set('Abxs', this.FS_Polymorphy);
    }
}
